package FileIO.OutputStream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

/**
 * @Author: ylc
 * @Description:字节输出流-续写文件的方法
 * @Date Created in 2022-04-25 16:36
 */
public class OutputDemo2 {
    public static void main(String[] args) throws IOException {
        /*
            追加写/续写:使用两个参数的构造方法
                FileOutputStream(String name, boolean append)创建一个向具有指定 name 的文件中写入数据的输出文件流。
                FileOutputStream(File file, boolean append) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
                参数:
                   String name,File file:写入数据的目的地
                   boolean append:追加写开关
                    true:创建对象不会覆盖源文件,继续在文件的末尾追加写数据
                    false:创建一个新文件,覆盖源文件
            写换行:写换行符号
                windows:\r\n
                linux:/n
                mac:/r
        */
        FileOutputStream fos = new FileOutputStream("Study04\\a.txt",true);
        for (int i = 1; i <=10 ; i++) {
            fos.write("你好".getBytes());
            fos.write("\r\n".getBytes());   //换行
        }
        /*
            使用PrintWriter类完成输出
                PrintWriter 类中提供了我们熟悉的 print/println/printf 方法
        */
        OutputStreamWriter osWriter = new OutputStreamWriter(fos, "utf-8");
        PrintWriter writer = new PrintWriter(osWriter);
        // 接下来我们就可以方便的使用 writer 提供的各种方法了
        writer.print("Hello");
        writer.println("你好");
        writer.printf("%d: %s\n", 1, "没什么");
        writer.flush();

    }
}
